package com.topten.dao.especificos;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.TypedQuery;

import javax.servlet.jsp.tagext.TryCatchFinally;

import com.topten.basicas.comum.Cidade;
import com.topten.dao.generico.DAOGenerico;

public class DAOCidade extends DAOGenerico<Cidade> implements IDAOCidade {

	public Cidade buscarCidadeNome(String nome) {
		try {
			entityManager.getTransaction().begin();
			String buscar = "Select c from Cidade c where c.nome =:nom";
			TypedQuery<Cidade> query = entityManager.createQuery(buscar,
					Cidade.class);
			query.setParameter("nom", nome);
			entityManager.getTransaction().commit();
			return query.getSingleResult();

		} catch (Exception e) {
			entityManager.getTransaction().rollback();
		} finally {
			entityManager.close();
		}
		return null;

	}

	@Override
	public List<Cidade> listarCidadesPorEstado(Integer id) {

		String jpql = "Select c from Cidade c where c.unidadeFederativa.codigo=:id";
		TypedQuery<Cidade> query = entityManager
				.createQuery(jpql, Cidade.class);
		query.setParameter("id", id);
		return query.getResultList();

	}

}
